package com.uplooking.pojo;

import java.util.ArrayList;
import java.util.List;

public class MenuVOExample {
    protected String orderByClause;

    protected boolean distinct;

    protected Integer start;

	protected Integer limit;

	public Integer getStart() {
		return start;
	}

	public void setStart(Integer start) {
		this.start = start;
	}

	public Integer getLimit() {
		return limit;
	}

	public void setLimit(Integer limit) {
		this.limit = limit;
	}
    
    protected List<Criteria> oredCriteria;

    public MenuVOExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andMuidIsNull() {
            addCriterion("muid is null");
            return (Criteria) this;
        }

        public Criteria andMuidIsNotNull() {
            addCriterion("muid is not null");
            return (Criteria) this;
        }

        public Criteria andMuidEqualTo(Integer value) {
            addCriterion("muid =", value, "muid");
            return (Criteria) this;
        }

        public Criteria andMuidNotEqualTo(Integer value) {
            addCriterion("muid <>", value, "muid");
            return (Criteria) this;
        }

        public Criteria andMuidGreaterThan(Integer value) {
            addCriterion("muid >", value, "muid");
            return (Criteria) this;
        }

        public Criteria andMuidGreaterThanOrEqualTo(Integer value) {
            addCriterion("muid >=", value, "muid");
            return (Criteria) this;
        }

        public Criteria andMuidLessThan(Integer value) {
            addCriterion("muid <", value, "muid");
            return (Criteria) this;
        }

        public Criteria andMuidLessThanOrEqualTo(Integer value) {
            addCriterion("muid <=", value, "muid");
            return (Criteria) this;
        }

        public Criteria andMuidIn(List<Integer> values) {
            addCriterion("muid in", values, "muid");
            return (Criteria) this;
        }

        public Criteria andMuidNotIn(List<Integer> values) {
            addCriterion("muid not in", values, "muid");
            return (Criteria) this;
        }

        public Criteria andMuidBetween(Integer value1, Integer value2) {
            addCriterion("muid between", value1, value2, "muid");
            return (Criteria) this;
        }

        public Criteria andMuidNotBetween(Integer value1, Integer value2) {
            addCriterion("muid not between", value1, value2, "muid");
            return (Criteria) this;
        }

        public Criteria andMupidIsNull() {
            addCriterion("mupid is null");
            return (Criteria) this;
        }

        public Criteria andMupidIsNotNull() {
            addCriterion("mupid is not null");
            return (Criteria) this;
        }

        public Criteria andMupidEqualTo(Integer value) {
            addCriterion("mupid =", value, "mupid");
            return (Criteria) this;
        }

        public Criteria andMupidNotEqualTo(Integer value) {
            addCriterion("mupid <>", value, "mupid");
            return (Criteria) this;
        }

        public Criteria andMupidGreaterThan(Integer value) {
            addCriterion("mupid >", value, "mupid");
            return (Criteria) this;
        }

        public Criteria andMupidGreaterThanOrEqualTo(Integer value) {
            addCriterion("mupid >=", value, "mupid");
            return (Criteria) this;
        }

        public Criteria andMupidLessThan(Integer value) {
            addCriterion("mupid <", value, "mupid");
            return (Criteria) this;
        }

        public Criteria andMupidLessThanOrEqualTo(Integer value) {
            addCriterion("mupid <=", value, "mupid");
            return (Criteria) this;
        }

        public Criteria andMupidIn(List<Integer> values) {
            addCriterion("mupid in", values, "mupid");
            return (Criteria) this;
        }

        public Criteria andMupidNotIn(List<Integer> values) {
            addCriterion("mupid not in", values, "mupid");
            return (Criteria) this;
        }

        public Criteria andMupidBetween(Integer value1, Integer value2) {
            addCriterion("mupid between", value1, value2, "mupid");
            return (Criteria) this;
        }

        public Criteria andMupidNotBetween(Integer value1, Integer value2) {
            addCriterion("mupid not between", value1, value2, "mupid");
            return (Criteria) this;
        }

        public Criteria andMutitleIsNull() {
            addCriterion("mutitle is null");
            return (Criteria) this;
        }

        public Criteria andMutitleIsNotNull() {
            addCriterion("mutitle is not null");
            return (Criteria) this;
        }

        public Criteria andMutitleEqualTo(String value) {
            addCriterion("mutitle =", value, "mutitle");
            return (Criteria) this;
        }

        public Criteria andMutitleNotEqualTo(String value) {
            addCriterion("mutitle <>", value, "mutitle");
            return (Criteria) this;
        }

        public Criteria andMutitleGreaterThan(String value) {
            addCriterion("mutitle >", value, "mutitle");
            return (Criteria) this;
        }

        public Criteria andMutitleGreaterThanOrEqualTo(String value) {
            addCriterion("mutitle >=", value, "mutitle");
            return (Criteria) this;
        }

        public Criteria andMutitleLessThan(String value) {
            addCriterion("mutitle <", value, "mutitle");
            return (Criteria) this;
        }

        public Criteria andMutitleLessThanOrEqualTo(String value) {
            addCriterion("mutitle <=", value, "mutitle");
            return (Criteria) this;
        }

        public Criteria andMutitleLike(String value) {
            addCriterion("mutitle like", value, "mutitle");
            return (Criteria) this;
        }

        public Criteria andMutitleNotLike(String value) {
            addCriterion("mutitle not like", value, "mutitle");
            return (Criteria) this;
        }

        public Criteria andMutitleIn(List<String> values) {
            addCriterion("mutitle in", values, "mutitle");
            return (Criteria) this;
        }

        public Criteria andMutitleNotIn(List<String> values) {
            addCriterion("mutitle not in", values, "mutitle");
            return (Criteria) this;
        }

        public Criteria andMutitleBetween(String value1, String value2) {
            addCriterion("mutitle between", value1, value2, "mutitle");
            return (Criteria) this;
        }

        public Criteria andMutitleNotBetween(String value1, String value2) {
            addCriterion("mutitle not between", value1, value2, "mutitle");
            return (Criteria) this;
        }

        public Criteria andMuiconIsNull() {
            addCriterion("muicon is null");
            return (Criteria) this;
        }

        public Criteria andMuiconIsNotNull() {
            addCriterion("muicon is not null");
            return (Criteria) this;
        }

        public Criteria andMuiconEqualTo(String value) {
            addCriterion("muicon =", value, "muicon");
            return (Criteria) this;
        }

        public Criteria andMuiconNotEqualTo(String value) {
            addCriterion("muicon <>", value, "muicon");
            return (Criteria) this;
        }

        public Criteria andMuiconGreaterThan(String value) {
            addCriterion("muicon >", value, "muicon");
            return (Criteria) this;
        }

        public Criteria andMuiconGreaterThanOrEqualTo(String value) {
            addCriterion("muicon >=", value, "muicon");
            return (Criteria) this;
        }

        public Criteria andMuiconLessThan(String value) {
            addCriterion("muicon <", value, "muicon");
            return (Criteria) this;
        }

        public Criteria andMuiconLessThanOrEqualTo(String value) {
            addCriterion("muicon <=", value, "muicon");
            return (Criteria) this;
        }

        public Criteria andMuiconLike(String value) {
            addCriterion("muicon like", value, "muicon");
            return (Criteria) this;
        }

        public Criteria andMuiconNotLike(String value) {
            addCriterion("muicon not like", value, "muicon");
            return (Criteria) this;
        }

        public Criteria andMuiconIn(List<String> values) {
            addCriterion("muicon in", values, "muicon");
            return (Criteria) this;
        }

        public Criteria andMuiconNotIn(List<String> values) {
            addCriterion("muicon not in", values, "muicon");
            return (Criteria) this;
        }

        public Criteria andMuiconBetween(String value1, String value2) {
            addCriterion("muicon between", value1, value2, "muicon");
            return (Criteria) this;
        }

        public Criteria andMuiconNotBetween(String value1, String value2) {
            addCriterion("muicon not between", value1, value2, "muicon");
            return (Criteria) this;
        }

        public Criteria andMurouteIsNull() {
            addCriterion("muroute is null");
            return (Criteria) this;
        }

        public Criteria andMurouteIsNotNull() {
            addCriterion("muroute is not null");
            return (Criteria) this;
        }

        public Criteria andMurouteEqualTo(String value) {
            addCriterion("muroute =", value, "muroute");
            return (Criteria) this;
        }

        public Criteria andMurouteNotEqualTo(String value) {
            addCriterion("muroute <>", value, "muroute");
            return (Criteria) this;
        }

        public Criteria andMurouteGreaterThan(String value) {
            addCriterion("muroute >", value, "muroute");
            return (Criteria) this;
        }

        public Criteria andMurouteGreaterThanOrEqualTo(String value) {
            addCriterion("muroute >=", value, "muroute");
            return (Criteria) this;
        }

        public Criteria andMurouteLessThan(String value) {
            addCriterion("muroute <", value, "muroute");
            return (Criteria) this;
        }

        public Criteria andMurouteLessThanOrEqualTo(String value) {
            addCriterion("muroute <=", value, "muroute");
            return (Criteria) this;
        }

        public Criteria andMurouteLike(String value) {
            addCriterion("muroute like", value, "muroute");
            return (Criteria) this;
        }

        public Criteria andMurouteNotLike(String value) {
            addCriterion("muroute not like", value, "muroute");
            return (Criteria) this;
        }

        public Criteria andMurouteIn(List<String> values) {
            addCriterion("muroute in", values, "muroute");
            return (Criteria) this;
        }

        public Criteria andMurouteNotIn(List<String> values) {
            addCriterion("muroute not in", values, "muroute");
            return (Criteria) this;
        }

        public Criteria andMurouteBetween(String value1, String value2) {
            addCriterion("muroute between", value1, value2, "muroute");
            return (Criteria) this;
        }

        public Criteria andMurouteNotBetween(String value1, String value2) {
            addCriterion("muroute not between", value1, value2, "muroute");
            return (Criteria) this;
        }

        public Criteria andMuspreadIsNull() {
            addCriterion("muspread is null");
            return (Criteria) this;
        }

        public Criteria andMuspreadIsNotNull() {
            addCriterion("muspread is not null");
            return (Criteria) this;
        }

        public Criteria andMuspreadEqualTo(Integer value) {
            addCriterion("muspread =", value, "muspread");
            return (Criteria) this;
        }

        public Criteria andMuspreadNotEqualTo(Integer value) {
            addCriterion("muspread <>", value, "muspread");
            return (Criteria) this;
        }

        public Criteria andMuspreadGreaterThan(Integer value) {
            addCriterion("muspread >", value, "muspread");
            return (Criteria) this;
        }

        public Criteria andMuspreadGreaterThanOrEqualTo(Integer value) {
            addCriterion("muspread >=", value, "muspread");
            return (Criteria) this;
        }

        public Criteria andMuspreadLessThan(Integer value) {
            addCriterion("muspread <", value, "muspread");
            return (Criteria) this;
        }

        public Criteria andMuspreadLessThanOrEqualTo(Integer value) {
            addCriterion("muspread <=", value, "muspread");
            return (Criteria) this;
        }

        public Criteria andMuspreadIn(List<Integer> values) {
            addCriterion("muspread in", values, "muspread");
            return (Criteria) this;
        }

        public Criteria andMuspreadNotIn(List<Integer> values) {
            addCriterion("muspread not in", values, "muspread");
            return (Criteria) this;
        }

        public Criteria andMuspreadBetween(Integer value1, Integer value2) {
            addCriterion("muspread between", value1, value2, "muspread");
            return (Criteria) this;
        }

        public Criteria andMuspreadNotBetween(Integer value1, Integer value2) {
            addCriterion("muspread not between", value1, value2, "muspread");
            return (Criteria) this;
        }

        public Criteria andMulvlIsNull() {
            addCriterion("mulvl is null");
            return (Criteria) this;
        }

        public Criteria andMulvlIsNotNull() {
            addCriterion("mulvl is not null");
            return (Criteria) this;
        }

        public Criteria andMulvlEqualTo(Integer value) {
            addCriterion("mulvl =", value, "mulvl");
            return (Criteria) this;
        }

        public Criteria andMulvlNotEqualTo(Integer value) {
            addCriterion("mulvl <>", value, "mulvl");
            return (Criteria) this;
        }

        public Criteria andMulvlGreaterThan(Integer value) {
            addCriterion("mulvl >", value, "mulvl");
            return (Criteria) this;
        }

        public Criteria andMulvlGreaterThanOrEqualTo(Integer value) {
            addCriterion("mulvl >=", value, "mulvl");
            return (Criteria) this;
        }

        public Criteria andMulvlLessThan(Integer value) {
            addCriterion("mulvl <", value, "mulvl");
            return (Criteria) this;
        }

        public Criteria andMulvlLessThanOrEqualTo(Integer value) {
            addCriterion("mulvl <=", value, "mulvl");
            return (Criteria) this;
        }

        public Criteria andMulvlIn(List<Integer> values) {
            addCriterion("mulvl in", values, "mulvl");
            return (Criteria) this;
        }

        public Criteria andMulvlNotIn(List<Integer> values) {
            addCriterion("mulvl not in", values, "mulvl");
            return (Criteria) this;
        }

        public Criteria andMulvlBetween(Integer value1, Integer value2) {
            addCriterion("mulvl between", value1, value2, "mulvl");
            return (Criteria) this;
        }

        public Criteria andMulvlNotBetween(Integer value1, Integer value2) {
            addCriterion("mulvl not between", value1, value2, "mulvl");
            return (Criteria) this;
        }

        public Criteria andMtipIsNull() {
            addCriterion("mtip is null");
            return (Criteria) this;
        }

        public Criteria andMtipIsNotNull() {
            addCriterion("mtip is not null");
            return (Criteria) this;
        }

        public Criteria andMtipEqualTo(String value) {
            addCriterion("mtip =", value, "mtip");
            return (Criteria) this;
        }

        public Criteria andMtipNotEqualTo(String value) {
            addCriterion("mtip <>", value, "mtip");
            return (Criteria) this;
        }

        public Criteria andMtipGreaterThan(String value) {
            addCriterion("mtip >", value, "mtip");
            return (Criteria) this;
        }

        public Criteria andMtipGreaterThanOrEqualTo(String value) {
            addCriterion("mtip >=", value, "mtip");
            return (Criteria) this;
        }

        public Criteria andMtipLessThan(String value) {
            addCriterion("mtip <", value, "mtip");
            return (Criteria) this;
        }

        public Criteria andMtipLessThanOrEqualTo(String value) {
            addCriterion("mtip <=", value, "mtip");
            return (Criteria) this;
        }

        public Criteria andMtipLike(String value) {
            addCriterion("mtip like", value, "mtip");
            return (Criteria) this;
        }

        public Criteria andMtipNotLike(String value) {
            addCriterion("mtip not like", value, "mtip");
            return (Criteria) this;
        }

        public Criteria andMtipIn(List<String> values) {
            addCriterion("mtip in", values, "mtip");
            return (Criteria) this;
        }

        public Criteria andMtipNotIn(List<String> values) {
            addCriterion("mtip not in", values, "mtip");
            return (Criteria) this;
        }

        public Criteria andMtipBetween(String value1, String value2) {
            addCriterion("mtip between", value1, value2, "mtip");
            return (Criteria) this;
        }

        public Criteria andMtipNotBetween(String value1, String value2) {
            addCriterion("mtip not between", value1, value2, "mtip");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}